home *** CD-ROM | disk | FTP | other *** search
- ;=============================================================================
- ;=============================================================================
- ;
- ; Label Name Library for Turbo Pascal v5.5
- ;
- ; Writen by Clark A. Calkins,
- ; C. C. Software
- ; 1907 Alvarado Ave.
- ; Walnut Creek, CA 94596
- ;
- ; circa September 1990
- ;
- ; This file may be freely copied and used for non-commercial purposes.
- ; Intended for use with the Masterful Disassembler (MD86) version 2.3 or
- ; later. This file should be compiled with MD86MAC v1.3 or later. No
- ; compiler error or warning messages should be generated.
- ;
- ; There are no known coding errors in these definitions but no guarantees
- ; are implied.
- ;
- ;=============================================================================
- ;
- ; Initialize routine. This sets interupt vectors and segment registers.
- ;
- label = TpInit
- mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- compare = $ba,$00,$00,$8e,$da,$8c,$06,$00,$00,$33,$ed,$8b,$c4,$05
- compare = $13,$00,$b1,$04,$d3,$e8,$8c,$d2,$03,$c2
- endlabel
- ;
- ; Normal exit routine.
- ;
- label = TpExit
- mask = $ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff
- mask = $ff,$ff,$ff,$ff
- compare = $33,$c9,$33,$db,$ba,$00,$00,$8e,$da,$fb,$a3,$00,$00,$8b
- compare = $c1,$0b,$c3,$74
- endlabel
- ;
- ; String support functions.
- ;
- label = StrStore
- nomask
- compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$08,$36,$c5,$77,$04
- compare = $ac,$aa,$8a,$c8,$32,$ed,$f3,$a4,$8e,$da,$ca,$04,$00
- endlabel
- ;
- label = StrMove
- nomask
- compare = $fc,$8b,$dc,$8c,$da,$36,$c5,$77,$0a,$36,$c4,$7f,$06
- compare = $36,$8b,$4f,$04,$ac,$3a,$c1,$76,$02,$8a,$c1,$aa,$8a
- compare = $c8,$32,$ed,$f3,$a4,$8e,$da,$ca,$0a,$00
- endlabel
- ;
- label = StrCopy
- nomask
- compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$0c,$36,$c5,$77,$08
- compare = $8a,$04,$32,$e4,$36,$8b,$4f,$06,$0b,$c9,$7f,$03,$b9
- compare = $01,$00,$03,$f1,$2b,$c1,$72,$13,$40,$36,$8b,$4f,$04
- compare = $0b,$c9,$7d,$02,$33,$c9,$3b,$c1,$76,$06,$8b,$c1,$eb
- compare = $02,$33,$c0,$aa,$8b,$c8,$f3,$a4,$8e,$da,$ca
- endlabel
- ;
- label = StrAdd
- nomask
- compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$08,$36,$c5,$77,$04
- compare = $26,$8a,$0d,$32,$ed,$ac,$26,$00,$05,$73,$08,$26,$c6
- compare = $05,$ff,$8a,$c1,$f6,$d0,$03,$f9,$47,$8a,$c8,$f3,$a4
- compare = $8e,$da,$ca,$04,$00
- endlabel
- ;
- label = StrLngth
- nomask
- compare = $8b,$dc,$36,$c4,$7f,$04,$26,$8a,$05,$32,$e4,$ca,$04
- compare = $00
- endlabel
- ;
- label = WrtItem
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- compare = $55,$8b,$ec,$1e,$c4,$7e,$0c,$06,$57,$e8,$00,$00
- compare = $75,$25,$c5,$76,$08,$8b,$4e,$06,$fc,$ac,$32,$e4,$2b,$c8
- endlabel
- ;
- label = IO_end
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff
- compare = $8b,$dc,$36,$c4,$7f,$04,$26,$83,$7d,$1a,$00,$75,$03,$ca,$04
- compare = $00,$83,$3e,$00,$00,$00,$75,$f6,$06,$57
- endlabel
- ;
- label = Get_IO
- mask = $ff,$ff,$ff,$ff,$00,$00,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- compare = $33,$c0,$87,$06,$00,$00,$cb
- compare = $83,$3e,$00,$00,$00,$75,$01,$cb,$a1,$00,$00,$e9
- endlabel
- label = Check_IO
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- compare = $83,$3e,$00,$00,$00,$75,$01,$cb,$a1,$00,$00,$e9
- endlabel
- ;
- label = Line_end
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
- mask = $ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff
- compare = $8b,$dc,$36,$c4,$7f,$04,$06,$57,$e8,$00,$00,$75,$0a,$b0,$0d
- compare = $e8,$00,$00,$b0,$0a,$e8,$00,$00,$5f,$07,$26,$89,$5d,$08,$eb
- compare = $06
- endlabel
- ;
- label = RdStrItm
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff
- compare = $55,$8b,$ec,$1e,$c4,$7e,$0c,$06,$57,$e8,$00,$00
- compare = $c5,$76,$08,$b9,$00,$00,$75,$15,$e8,$00,$00,$3c
- compare = $0d,$74,$0e,$3c,$1a,$74,$0a,$43,$41,$46,$88,$04
- compare = $3b,$4e,$06
- endlabel
- ;
- label = Get_EOL
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff
- compare = $8b,$dc,$36,$c4,$7f,$04,$06,$57,$e8,$00,$00,$75
- compare = $14,$e8,$00,$00,$3c,$1a,$74,$0d,$43,$3c,$0d,$75
- compare = $f4,$e8,$00,$00,$3c,$0a
- endlabel
- ;
- ; Long and short integer file I/O procedures.
- ;
- label = WrtDblWd
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff
- compare = $55,$8b,$ec,$83,$ec,$20,$8b,$46,$08,$8b,$56,$0a
- compare = $8d,$7e,$e0,$16,$07,$e8,$00,$00,$c4,$7e,$0c,$06
- compare = $57,$e8,$00,$00,$75,$1f,$8b,$46,$06,$2b,$c1,$7e
- compare = $0d
- endlabel
- ;
- label = RdDblWrd
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- compare = $55,$8b,$ec,$83,$ec,$20,$c4,$7e,$06,$06,$57,$e8
- compare = $00,$00,$be,$00,$00,$75,$21,$e8,$00,$00,$3c,$1a
- compare = $74,$1a,$3c,$20,$77,$03,$43,$eb,$f2
- endlabel
- ;
- ; Procedure to assign a file name to a file variable. Used for text type
- ; files.
- ;
- labelname = Txt_asgn
- nomask
- compare = $8b,$dc,$1e,$36,$c4,$7f,$08,$36,$c5,$77,$04,$fc,$33,$c0
- compare = $ab,$b8,$b0,$d7,$ab,$b8,$80,$00,$ab,$33,$c0,$ab,$ab,$ab
- endlabel
- ;
- ; Procedure to assign binary files.
- ;
- labelname = Bin_asgn
- nomask
- compare = $8b,$dc,$1e,$36,$c4,$7f,$08,$36,$c5,$77,$04,$fc,$33,$c0
- compare = $ab,$b8,$b0,$d7,$ab,$33,$c0,$b9,$16,$00,$f3,$ab
- endlabel
- ;
- ; Procedure to open a text file.
- ;
- labelname = Txt_open
- nomask
- compare = $8b,$dc,$36,$c4,$7f,$04,$26,$8b,$45,$02,$3d,$b1,$d7
- compare = $74,$12,$3d,$b2,$d7,$74,$0d
- endlabel
- ;
- ; Procedure to open a text file for reading.
- ;
- labelname = TxtReset
- nomask
- compare = $ba,$b1,$d7,$eb
- argument
- rbyte = 4
- type = nearaddress
- name = Txt_open
- endargument
- endlabel
- ;
- ; Procedure to open a text file for writing.
- ;
- labelname = TxtWrite
- nomask
- compare = $ba,$b2,$d7,$eb
- argument
- rbyte = 4
- type = nearaddress
- name = Txt_open
- endargument
- endlabel
- ;
- ; Procedure to open a binary file for reading.
- ;
- labelname = BinReset
- mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- compare = $a0,$00,$00,$b4,$3d,$33,$d2,$eb,$06
- compare = $b8,$00,$3c,$ba,$01,$00,$55,$8b,$ec,$c4,$7e,$08,$26,$81,$7d
- compare = $02,$b0,$d7,$74,$1a,$26,$81,$7d,$02,$b3,$d7,$74,$08
- endlabel
- ;
- ; Procedure to open a binary file for writing.
- ;
- labelname = BinWrite
- nomask
- compare = $b8,$00,$3c,$ba,$01,$00,$55,$8b,$ec,$c4,$7e,$08,$26,$81,$7d
- compare = $02,$b0,$d7,$74,$1a,$26,$81,$7d,$02,$b3,$d7,$74,$08
- endlabel
- ;
- ;============================================================================
- ; Label names for the CRT unit.
- ;============================================================================
- ;
- ; Label name for GOTOXY(x,y) procedure.
- ;
- labelname = GotoXYp
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $00,$00,$ff,$ff
- compare = $8b,$dc,$36,$8a,$57,$06,$36,$8a,$77,$04,$fe,$ca,$02,$16
- compare = $00,$00,$72,$17,$3a,$16,$00,$00,$77,$11,$fe,$ce,$02,$36
- compare = $00,$00,$72,$09
- endlabel
- ;
- ; The clear to end of line procedure CLREOL.
- ;
- labelname = ClrEol
- mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff
- mask = $ff,$ff,$00,$00,$ff,$00,$00,$ff
- compare = $e8,$00,$00,$b8,$00,$00,$8a,$3e,$00,$00,$8b,$ca
- compare = $8a,$16,$00,$00,$e8,$00,$00,$cb
- endlabel
- ;
- ; The clear screen procedure CLRSCR.
- ;
- labelname = ClrScr
- mask = $ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$00,$00,$ff
- mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$00,$00,$ff,$00
- mask = $00,$ff
- compare = $b8,$00,$00,$8a,$3e,$00,$00,$8b,$0e,$00,$00,$8b
- compare = $16,$00,$00,$e8,$00,$00,$8b,$16,$00,$00,$e8,$00
- compare = $00,$cb
- endlabel
- ;
- ; The DELAY() procedure.
- ;
- labelname = Delay_p
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
- mask = $ff,$ff
- compare = $8b,$dc,$36,$8b,$57,$04,$0b,$d2,$74,$13,$33,$ff,$8e,$c7,$26
- compare = $8a,$05,$8b,$1e,$00,$00,$8b,$cb,$e8,$00,$00,$4a,$75,$f8,$ca
- compare = $02,$00
- endlabel
- ;
- ; Video interupt entry.
- ;
- labelname = VideoInt
- nomask
- compare = $56,$57,$55,$06,$cd,$10,$07,$5d,$5f,$5e,$c3
- endlabel
- ;
- ; Line delete function DELLINE.
- ;
- labelname = DelLine
- mask = $ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$00,$00
- mask = $ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- compare = $b8,$01,$06,$50,$e8,$00,$00,$58,$8a,$3e,$00,$00,$8a,$0e,$00,$00
- compare = $8a,$ee,$8b,$16,$00,$00,$3a,$ee,$75,$02,$32,$c0,$e8,$00,$00,$cb
- argument
- rbyte = 29
- type = nearaddress
- name = VideoInt
- endargument
- endlabel
- ;
- ; High video procedure.
- ;
- labelname = HighVid
- mask = $ff,$ff,$00,$00,$ff,$ff
- compare = $80,$0e,$00,$00,$08,$cb
- endlabel
- ;
- ; Low video procedure.
- ;
- labelname = LowVideo
- mask = $ff,$ff,$00,$00,$ff,$ff
- compare = $80,$26,$00,$00,$f7,$cb
- endlabel
- ;
- ; Key pressed procedure.
- ;
- labelname = KeyPrest
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff
- compare = $80,$3e,$00,$00,$00,$75,$08,$b4,$01,$cd,$16,$b0,$00,$74,$02
- compare = $b0,$01,$cb
- endlabel
- ;
- ; Procedure to turn the speeker off.
- ;
- labelname = NoSound
- nomask
- compare = $e4,$61,$24,$fc,$e6,$61,$cb
- endlabel
- ;
- ; Procedure to turn the speeker on at a specified frequency.
- ;
- labelname = Sound
- nomask
- compare = $8b,$dc,$36,$8b,$5f,$04,$b8,$dd,$34,$ba,$12,$00
- compare = $3b,$d3,$73,$1a,$f7,$f3,$8b,$d8,$e4,$61,$a8,$03
- compare = $75,$08
- endlabel
- ;
- ; Set the text background color.
- ;
- labelname = TxtBkg
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
- compare = $8b,$dc,$36,$8a,$47,$04,$24,$07,$b1,$04,$d2,$e0,$80,$26
- compare = $00,$00,$8f,$08,$06,$00,$00,$ca,$02,$00
- endlabel
- ;
- ; Set foreground color.
- ;
- labelname = TxtColor
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
- compare = $8b,$dc,$36,$8a,$47,$04,$a8,$f0,$74,$04,$24,$0f,$0c,$80
- compare = $80,$26,$00,$00,$70,$08,$06,$00,$00,$ca,$02,$00
- endlabel
- ;
- ; Read a character.
- ;
- labelname = ReadKey
- mask = $ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$ff,$ff,$ff,$ff
- mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
- compare = $a0,$00,$00,$c6,$06,$00,$00,$00,$0a,$c0,$75,$12,$32,$e4
- compare = $cd,$16,$0a,$c0,$75,$0a
- compare = $88,$26,$00,$00,$0a,$e4,$75,$02,$b0,$03,$e8,$00,$00,$cb
- endlabel
- ;
- ; Set the text mode (mono, color, 40 cols, 80 cols, etc.).
- ;
- labelname = TxtMode
- mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$00,$00
- mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$ff
- compare = $8b,$dc,$36,$8b,$47,$04,$e8,$00,$00,$e8,$00,$00
- compare = $a0,$00,$00,$a2,$00,$00,$ca,$02,$00
- endlabel
- ;
- ; Locate the current cursor position.
- ;
- labelname = CurPos_p
- mask = $ff,$ff,$ff,$ff,$ff
- compare = $b4,$03,$32,$ff,$e9
- argument
- rbyte = 5
- type = nearaddress
- name = VideoInt
- endargument
- endlabel
- ;
- ; Determine the current 'X' coordinate.
- ;
- labelname = Where_X
- mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
- compare = $e8,$00,$00,$8a,$c2,$2a,$06,$00,$00,$fe,$c0,$cb
- argument
- rbyte = 1
- type = nearaddress
- name = CurPos_p
- endargument
- endlabel
- ;
- ; Determine the current 'Y' coordinate.
- ;
- labelname = Where_Y
- mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
- compare = $e8,$00,$00,$8a,$c6,$2a,$06,$00,$00,$fe,$c0,$cb
- argument
- rbyte = 1
- type = nearaddress
- name = CurPos_p
- endargument
- endlabel
- ;
- ; Set the window columns on the screen.
- ;
- labelname = Window
- nomask
- compare = $8b,$dc,$36,$8a,$57,$0a,$36,$8a,$77,$08,$36,$8a,$4f,$06
- compare = $36,$8a,$6f,$04,$3a,$d1,$77,$27,$3a,$f5,$77,$23,$fe,$ca
- compare = $78,$1f
- endlabel
- ;
- ; End of label name library.